.component_modal{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #f2f3f5f0;
    z-index: 1000;

    > div{
        box-shadow: 1px 2px 20px rgba(0, 0, 0, 0.1);
        background: white;
        width: 80%;
        max-width: 310px;
        padding: 20px 20px 0 20px;
        border-radius: 2px;
    }
}


/***********************/
/* ENTERING TRANSITION */
// background
.modal-appear > div, .modal-enter > div{ opacity: 0;}
.modal-appear.modal-appear-active > div, .modal-enter.modal-enter-active > div{
    opacity: 1;
    transition: opacity 0.3s ease;
}

// box
.modal-appear > div > div, .modal-enter > div > div{
    opacity: 0;
    transform-origin: top center;
    transform: translateY(10px);
}
.modal-appear.modal-appear-active > div > div, .modal-enter.modal-enter-active > div > div{
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.2s;
    transition-timing-function: ease-out;
    transition-property: opacity, transform;
    transition-delay: 0.1s;
}

/***********************/
/* LEAVING TRANSITION */
// background
.modal-leave > div{ opacity: 1; }
.modal-leave.modal-leave-active > div{
    opacity: 0;
    transition: opacity 0.2s ease-out;
    transition-delay: 0.1s;
}
// box
.modal-leave > div > div { transform: translateY(0); opacity: 1;}
.modal-leave.modal-leave-active > div > div{
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.2s ease-out;
}

.dark-mode .component_modal{
    background: var(--bg-color);
}
